Slicing of Java Programs using the Soot Framework
نویسندگان
چکیده
Slicing is a technique used to identify the program subset that could affect a particular statement of interest called the slicing criterion. Slicing has applications in program understanding, testing, model checking and functionality extraction. For computing a slice, we need to compute dependence information among statements. In object oriented languages, finding dependence information becomes non-trivial because of language features like inheritance, objects, polymorphism, dynamic binding and so forth. We develop a method for computing slices in object oriented programs for application in regression testing. In particular we propose a new method for intraprocedural alias analysis for Java and implement an interprocedural slicing technique using the system dependence graph of Horwitz et al.
منابع مشابه
The Soot framework for Java program analysis: a retrospective
Soot is a successful framework for experimenting with compiler and software engineering techniques for Java programs. Researchers from around the world have implemented a wide range of research tools which build on Soot, and Soot has been widely used by students for both courses and thesis research. In this paper, we describe relevant features of Soot, summarize its development process, and dis...
متن کاملSTOOP: The Sable Toolkit for Object-Oriented Profiling
− instrumented Java class files produced from existing programs using Soot (www.sable.mcgill.ca/soot), a framework for analyzing and transforming Java bytecode. The transformed classes report their own field accesses as well as method entries and exits. Profiling agents provide raw data to the rest of the STOOP framework. Data may originate from a wide variety of sources. For example, traces of...
متن کاملAn Overview of the Indus Framework for Analysis and Slicing of Concurrent Java Software
Program slicing is a program analysis and transformation technique that has been successfully applied in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only a few full-featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool...
متن کاملTowards Verification of MPJ-based Java Programs
A proof-of-concept Java/MPJ to Promela translator is presented as a step towards verification of safety properties of parallel Java programs using the MPJ library. The translator leverages the Soot library to achieve a threestep method for of the Java to Promela.
متن کاملSlicing Concurrent Java Programs
Although many slicing algorithms have been proposed for object-oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. In this paper, we propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence-based representation called multithreaded dependence g...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006